'''

Typing.Optional类
可选类型，作用几乎和带默认值的参数等价，不同的是使用Optional会告诉你的IDE或者框架：这个参数除了给定的默认值外还可以是None，
而且使用有些静态检查工具如mypy时，对 a: int =None这样类似的声明可能会提示报错，但使用a :Optional[int] = None不会。

'''

# Optional
from typing import Optional


def foo_v2(a: int, b: Optional[int] = 1):
    if b:
        print(a + b)
    else:
        print("parameter b is a NoneType!")


# 只传入a位置的实参
foo_v2(2)